/*
 * 描          述:  <描述>
 * 修  改   人:  Administrator
 * 修改时间:  2019年6月3日
 * <修改描述:>
 */
package com.tx.core.querier.model;

import com.tx.core.mybatis.conditions.QuerierWrapper;

/**
 * 查询条件<br/>
 * <功能详细描述>
 *
 * @author Administrator
 * @version [版本号, 2019年6月3日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
@Deprecated
public class Querier<T> extends QuerierWrapper<T> {

    /*
    public static void main(String[] args) {
        SnowflakeGenerator snowflakeGenerator = new SnowflakeGenerator();
        System.out.println(snowflakeGenerator.next());
        UUIDGenerator uuidGenerator = new UUIDGenerator();
        System.out.println(uuidGenerator.next().replace("-",""));

        System.out.println(String.class.isAssignableFrom(String.class));
        System.out.println(Long.class.isAssignableFrom(long.class));
    }*/

    /*public static void main(String[] args) {
        QueryWrapper<Test> tqw = new QueryWrapper<>();
        tqw.select("id", "name", "createDate", "lastUpdateName", "remark");
        tqw.eq("id", "testId");
        tqw.likeRight("name", "testName");
        tqw.likeLeft("remark", "testRemark");
        tqw.orderByAsc("createDate");
        tqw.orderByDesc("lastUpdateDate");
        tqw.in("codes", Arrays.asList("code1", "code2", "code3"));
        tqw.ne("id", "excludeId");

        System.out.println("SqlComment:" + tqw.getSqlComment());
        System.out.println("SqlSegment:" + tqw.getSqlSegment());
        System.out.println("SqlSelect:" + tqw.getSqlSelect());
        System.out.println("CustomSqlSegment:" + tqw.getCustomSqlSegment());

        System.out.println(tqw.getExpression().getSqlSegment());
        System.out.println("ParamNameValuePairs:" + tqw.getParamNameValuePairs());
        System.out.println("TargetSql:" +tqw.getTargetSql());
        System.out.println("SqlSelect:" + tqw.getSqlSelect());

        System.out.println("SqlFirst:" + tqw.getSqlFirst());
        System.out.println("SqlSet:" + tqw.getSqlSet());

        //
        System.out.println(tqw.getExpression().getHaving().isEmpty());
        System.out.println(tqw.getExpression().getOrderBy().isEmpty());
        System.out.println("tqw.getOrderBy().getSqlSegment:" + tqw.getExpression().getOrderBy().getSqlSegment());
        System.out.println("tqw.getNormal().getSqlSegment:" + tqw.getExpression().getNormal().getSqlSegment());
        System.out.println("tqw.getGroupBy().getSqlSegment:" + tqw.getExpression().getGroupBy().getSqlSegment());

        Test t = new Test();
        t.setId("23423423");
        t.setCode("testCode");
        tqw = new QueryWrapper<>(t);

        System.out.println("SqlSegment:" + tqw.getSqlSegment());
        System.out.println("SqlSelect:" + tqw.getSqlSelect());
        System.out.println("CustomSqlSegment:" + tqw.getCustomSqlSegment());
        System.out.println(tqw.getExpression());
        System.out.println(tqw.getParamNameValuePairs());
        System.out.println(tqw.getTargetSql());
        System.out.println(tqw.getSqlSelect());

        UpdateWrapper<Test> uw = new UpdateWrapper<>();
        uw.eq("id","testIdInstance");
        uw.set("name","testName");
        uw.set("remark","testRemark");

        System.out.println("SqlComment:" + uw.getSqlComment());
        System.out.println("SqlSegment:" + uw.getSqlSegment());
        System.out.println("SqlSelect:" + uw.getSqlSelect());
        System.out.println("SqlSet:" + uw.getSqlSet());

        System.out.println(uw.getExpression().getSqlSegment());
        System.out.println("ParamNameValuePairs:" + uw.getParamNameValuePairs());
        System.out.println("TargetSql:" +uw.getTargetSql());
        System.out.println("SqlSelect:" + uw.getSqlSelect());

        System.out.println("SqlFirst:" + uw.getSqlFirst());
        System.out.println("SqlSet:" + uw.getSqlSet());

        System.out.println("tqw.getExpression().getSqlSegment:" + uw.getExpression().getNormal().getSqlSegment());

        System.out.println("tqw.getExpression().getSqlSegment:" + uw.getExpression().getOrderBy().getSqlSegment());
        System.out.println("tqw.getExpression().getSqlSegment:" + uw.getExpression().getNormal().getSqlSegment());
        System.out.println("tqw.getGroupBy().getSqlSegment:" + uw.getExpression().getGroupBy().getSqlSegment());

    }

    //SqlComment:null
    //SqlSegment:(id = #{ew.paramNameValuePairs.MPGENVAL1} AND name LIKE #{ew.paramNameValuePairs.MPGENVAL2} AND
    // remark LIKE #{ew.paramNameValuePairs.MPGENVAL3} AND codes IN (#{ew.paramNameValuePairs.MPGENVAL4},#{ew
    // .paramNameValuePairs.MPGENVAL5},#{ew.paramNameValuePairs.MPGENVAL6}) AND id <> #{ew.paramNameValuePairs
    // .MPGENVAL7}) ORDER BY createDate ASC,lastUpdateDate DESC
    //SqlSelect:id,name,createDate,lastUpdateName,remark
    //CustomSqlSegment:WHERE (id = #{ew.paramNameValuePairs.MPGENVAL1} AND name LIKE #{ew.paramNameValuePairs
    // .MPGENVAL2} AND remark LIKE #{ew.paramNameValuePairs.MPGENVAL3} AND codes IN (#{ew.paramNameValuePairs
    // .MPGENVAL4},#{ew.paramNameValuePairs.MPGENVAL5},#{ew.paramNameValuePairs.MPGENVAL6}) AND id <> #{ew
    // .paramNameValuePairs.MPGENVAL7}) ORDER BY createDate ASC,lastUpdateDate DESC
    //(id = #{ew.paramNameValuePairs.MPGENVAL1} AND name LIKE #{ew.paramNameValuePairs.MPGENVAL2} AND remark LIKE
    // #{ew.paramNameValuePairs.MPGENVAL3} AND codes IN (#{ew.paramNameValuePairs.MPGENVAL4},#{ew.paramNameValuePairs
    // .MPGENVAL5},#{ew.paramNameValuePairs.MPGENVAL6}) AND id <> #{ew.paramNameValuePairs.MPGENVAL7}) ORDER BY
    // createDate ASC,lastUpdateDate DESC
    //ParamNameValuePairs:{MPGENVAL3=%testRemark, MPGENVAL2=testName%, MPGENVAL1=testId, MPGENVAL7=excludeId,
    // MPGENVAL6=code3, MPGENVAL5=code2, MPGENVAL4=code1}
    //TargetSql:(id = ? AND name LIKE ? AND remark LIKE ? AND codes IN (?,?,?) AND id <> ?) ORDER BY createDate ASC,
    // lastUpdateDate DESC
    //SqlSelect:id,name,createDate,lastUpdateName,remark
    //SqlFirst:null
    //SqlSet:null
    //true
    //false
    //tqw.getOrderBy().getSqlSegment: ORDER BY createDate ASC,lastUpdateDate DESC
    //tqw.getNormal().getSqlSegment:(id = #{ew.paramNameValuePairs.MPGENVAL1} AND name LIKE #{ew.paramNameValuePairs
    // .MPGENVAL2} AND remark LIKE #{ew.paramNameValuePairs.MPGENVAL3} AND codes IN (#{ew.paramNameValuePairs
    // .MPGENVAL4},#{ew.paramNameValuePairs.MPGENVAL5},#{ew.paramNameValuePairs.MPGENVAL6}) AND id <> #{ew
    // .paramNameValuePairs.MPGENVAL7})
    //tqw.getGroupBy().getSqlSegment:
    //SqlSegment:
    //SqlSelect:null
    //CustomSqlSegment:
    //com.baomidou.mybatisplus.core.conditions.segments.MergeSegments@63440df3
    //{}
    //
    //null
    //SqlComment:null
    //SqlSegment:(id = #{ew.paramNameValuePairs.MPGENVAL3})
    //SqlSelect:null
    //SqlSet:name=#{ew.paramNameValuePairs.MPGENVAL1},remark=#{ew.paramNameValuePairs.MPGENVAL2}
    //(id = #{ew.paramNameValuePairs.MPGENVAL3})
    //ParamNameValuePairs:{MPGENVAL3=testIdInstance, MPGENVAL2=testRemark, MPGENVAL1=testName}
    //TargetSql:(id = ?)
    //SqlSelect:null
    //SqlFirst:null
    //SqlSet:name=#{ew.paramNameValuePairs.MPGENVAL1},remark=#{ew.paramNameValuePairs.MPGENVAL2}
    //tqw.getExpression().getSqlSegment:(id = #{ew.paramNameValuePairs.MPGENVAL3})
    //tqw.getExpression().getSqlSegment:
    //tqw.getExpression().getSqlSegment:(id = #{ew.paramNameValuePairs.MPGENVAL3})
    //tqw.getGroupBy().getSqlSegment:

    @Data
    public static class Test {
        private String id;

        private String code;

        private String name;

        private String remark;

        private String description;

        private BigDecimal testBigDecimal;

        private int testInt;

        private boolean testBoolean;

        private Date createDate;

        private Date lastUpdateDate;
    }*/
}
